package top.zywork.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * ExpressTemplateAndItemVO值对象类<br/>
 *
 * 创建于2019-11-14<br/>
 *
 * @author http://zywork.top 王振宇
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class ExpressTemplateAndItemVO extends BaseVO {

    private static final long serialVersionUID = -9223372035113663597L;

    /*
	 * t_express_template表的字段对应的属性
	 */
	/**
	 * 快递费模板编号
	 */
	private Long expressTemplateId;
	/**
	 * 快递费模板标题
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 50, message = "必须是1-50个字符")
	private String expressTemplateTitle;
	/**
	 * 发货地
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 50, message = "必须是1-50个字符")
	private String expressTemplateExpressPlace;
	/*
	 * t_express_template_item表的字段对应的属性
	 */
	/**
	 * 模板项编号
	 */
	@NotNull(message = "此项是必须项")
	private Long expressTemplateItemId;
	/**
	 * 物流公司
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 255, message = "必须是1-255个字符")
	private String expressTemplateItemExpressCompany;
	/**
	 * 省收货地
	 */
	@NotBlank(message = "此项是必须项")
	@Size(min = 1, max = 50, message = "必须是1-50个字符")
	private String expressTemplateItemProvince;
	/**
	 * 市收货地
	 */
	@Size(min = 0, max = 50, message = "必须小于50个字符")
	private String expressTemplateItemCity;
	/**
	 * 区县收货地
	 */
	@Size(min = 0, max = 50, message = "必须小于50个字符")
	private String expressTemplateItemDistrict;
	/**
	 * 是否包邮
	 */
	@NotNull(message = "此项是必须项")
	private Byte expressTemplateItemExpressFree;
	/**
	 * 快递费
	 */
	@NotNull(message = "此项是必须项")
	private BigDecimal expressTemplateItemExpressFee;
	/**
	 * 规格
	 */
	@NotNull(message = "此项是必须项")
	private BigDecimal expressTemplateItemExpressSpec;
	/**
	 * 递增规格
	 */
	private BigDecimal expressTemplateItemIncrementSpec;
	/**
	 * 递增快递费
	 */
	private BigDecimal expressTemplateItemIncrementFee;
	/**
	 * 包邮条件
	 */
	private BigDecimal expressTemplateItemFreeCondition;
	/**
	 * 包邮金额
	 */
	private BigDecimal expressTemplateItemFreeMaxPayment;
	/**
	 * 版本号
	 */
	private Integer expressTemplateItemVersion;
	/**
	 * 创建时间
	 */
	private Date expressTemplateItemCreateTime;
	/**
	 * 更新时间
	 */
	private Date expressTemplateItemUpdateTime;
	/**
	 * 是否激活
	 */
	private Byte expressTemplateItemIsActive;
	
}
